Computer aided manufacturing (CAM) software systems are used to program computer numerical control (CNC) machine tools that are used in machine shops for the production of discrete parts such as molds, dies, tools, prototypes, aerospace components and more. CAM systems start from a geometric model. On the geometric model, the system recognizes machining features. A machining feature is an elementary geometric shape characterized with machining properties. The end-user specifies, with assistance and guidance of the CAM system, machining strategies to apply on the machining features.
The application of the machining strategies generates machining operations that perform material removal on a workpiece, where the workpiece may be the association of a part and a stock. Operations contain a tool path that describes the trajectory of the tool on the workpiece. From a sequence of operations, the CAM system interprets and translates the data to generate a numerical control (NC) program. The NC program is a list of executable commands that CNC machines can understand and execute.